package cn.yujian95.hospital.service;

import cn.yujian95.hospital.dto.param.HospitalProductParam;
import cn.yujian95.hospital.entity.HospitalProduct;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

public interface IHospitalProductService extends IService<HospitalProduct> {
    /**
     * 判断是否存在名称
     *
     * @param name
     * @return
     */
    boolean count(String name);

    /**
     * 判断是否存在这个产品
     *
     * @param id
     * @return
     */
    boolean count(Long id);


    /**
     * 新增产品
     *
     * @param param
     * @return
     */
    boolean insertProduct(HospitalProductParam param);

    /**
     * 修改产品信息
     *
     * @param id
     * @param param
     * @return
     */
    boolean update(Long id, HospitalProductParam param);

    /**
     * 删除产品
     *
     * @param id
     * @return
     */
    boolean delete(Long id);

    /**
     * 获取产品信息
     *
     * @param id
     * @return
     */
    HospitalProduct getProduct(Long id);

    /**
     * 获取产品列表（分页查询）
     *
     * @param name
     * @param pageNum
     * @param pageSize
     * @return
     */
    IPage<HospitalProduct> list(String name, Integer pageNum, Integer pageSize);

    /**
     * 获取产品列表（分页查询）小程序端判断下架
     *
     * @param name
     * @param pageNum
     * @param pageSize
     * @return
     */
    IPage<HospitalProduct> listForApp(String name, Integer pageNum, Integer pageSize);

    /**
     * 展示全部产品列表
     *
     * @param pageNum
     * @param pageSize
     * @return
     */
    IPage<HospitalProduct> listForAppList(Integer pageNum, Integer pageSize);
}
